package com.team11.server.service;

import com.team11.server.pojo.HInformation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.team11.server.pojo.dto.*;
import com.team11.server.pojo.dto.vo.AddWorkListVo;
import com.team11.server.pojo.dto.vo.JobAuditListVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author pjc
 * @since 2021-06-17
 */
public interface IHInformationService extends IService<HInformation> {
    /**
     * 下发（新增）作业
     *
     * @param addHomeWork
     * @param pId
     * @param student
     * @return
     */
//   RespBean addHomework(HInformation hInformation, List<Integer> pId, List<String> sid, MultipartFile[] files, HttpServletRequest request);
    RespBean addHomework(AddHomeWork addHomeWork, List<Integer> pId, List<String> student, String tJobNumber,
                         MultipartFile[] files, HttpServletRequest request);

    /**
     * 获取下发的作业列表
     *
     * @param currentPage
     * @param size
     * @param addWorkListvo
     * @return
     */
    RespPageBean getDistributeJobList(Integer currentPage, Integer size, AddWorkListVo addWorkListvo);

    /**
     * 教师删除作业
     *
     * @param hId
     * @return
     */
    RespBean deleteWork(Integer hId);

    /**
     * 根据hId获取作业信息
     *
     * @param hId
     * @return
     */
    List getWorkByHId(Integer hId);

    /**
     * 教师修改作业
     *
     * @param addHomeWork
     * @param pId
     * @param student
     * @param files
     * @param request
     * @return
     */
    RespBean updateWork(AddHomeWork addHomeWork, List<Integer> pId, List<String> student, String tJobNumber,
                        Integer hId, MultipartFile[] files, HttpServletRequest request);

    /**
     * 审核作业列表
     *
     * @param currentPage
     * @param size
     * @return
     */
    RespPageBean getJobAuditList(Integer currentPage, Integer size, Integer status, JobAuditListVo jobAuditListVo);

    /**
     * 获取作业任务列表
     *
     * @param hId
     * @return
     */
    WorkTask getWorkTask(Integer hId);


}
